$(() => {obj.init()});

let obj = {
    dataGrid: null,
    form: null,
    dom: {
        formAdd: null,
        formEdit: null
    },
    init: function () {
        this.dom.formAdd = $('#bt_form_add');
        this.dom.formEdit = $('#bt_form_edit');

        this.dataGrid = new xhDataGrid($('#list'), 'sys/getEnumList');
        this.dataGrid.parseToolbar().init().activeBtn($('#bt_list_del'), $('#bt_list_add'));

        this.form = new xhForm($('#xh_form'));
        this.form.parse().bindRequired(this.dom.formAdd.add(this.dom.formEdit));

        this.listener();
    },
    listener: function () {
        this.dataGrid.onLoadSuccess = (data) => {
            xhExtra.checkError(data);
            this.dataGrid.clear();
            this.dataGrid.mergeCells(['sNodeName', 'iNodeId']);
        };
        //修改
        this.dataGrid.onDblClickRow = (rowIndex, rowData) => {
            this.form.reset().fill(rowData);
            xhExtra.forwardToForm(true);
        };
        xhExtra.bindFormReset(this.form);
        xhExtra.bindFormBack();
        //列表增加按钮
        $('#bt_list_add').click(() => {
            this.funObj().listAddClick();
        });
        //保存
        this.dom.formAdd.add(this.dom.formEdit).click(() => {
            this.funObj().submit();
        });
        //删除
        $('#bt_list_del').click(() => {
            if (xhExtra.buttonDisabled($(this))) {
                return false;
            }
            this.funObj().delEnum();
        });
    },
    funObj: function(){
        return {
            listAddClick: () => {
                this.form.reset().fill({
                    iNodeId: this.dataGrid.getSelectValue('iNodeId'),
                    sNodeName: this.dataGrid.getSelectValue('sNodeName')
                });
                xhExtra.forwardToForm(false);
            },
            delEnum: () => {
                xhExtra.askChangeStatus('sys/delEnum', {ids: this.dataGrid.getSelectValues('iEnumId')}, this.dataGrid);
            },
            submit: () => {
                this.form.submit('sys/modifyEnum', {}, () => {
                    xhExtra.backToList(this.dataGrid);
                });
            }
        }
    }
};
/**
 * create by ck on 2016/3/15.
 */
// $(document).ready(function(){
//     var list = $('#List');
//     $('.xh-datagrid-toolbar').parseToolbar();
//     $('.xh-form').parseForm($('#bt_form_add, #bt_form_edit'));
//     list.initDataGrid(baseUrl + 'Sys/getEnumData').setSelectThenEnable(['bt_list_del'], ['bt_list_add']);
//     DataGrid.onLoadSuccess = function(data){
//         if (data.rows.length > 0) {
//             //调用mergeCellsByField()合并单元格
//             //mergeCellsByField('List', 'sNodeName,iENodeCode');
//             list.mergeCellsByField(['sNodeName', 'iNodeId']);
//         }
//     };
//     $('#bt_form_add, #bt_form_edit').click(function () {
//         $.overtFun.clickSubmitForm(list);
//     });
//
//     $('#bt_list_del').click(function () {
//         if(xhExtra.buttonDisabled($(this))){
//             return false;
//         }
//         var ids = list.getDataGridSelectedFields('iEnumId',true);
//         window.top.swal({title:'警告',text: '确定要删除吗？',type:'warning',confirmButtonText:'确定',cancelButtonText:'取消'}).then(function () {
//             xhExtra.ajaxRequest('Sys/delEnumData',{ids:ids},{},function (res) {
//                 if(res.code === 200){
//                     window.top.swal('成功',res.msg,'success');
//                 }
//             });
//         },function (dismiss) {
//             return false;
//         });
//     });
//
//     $('#bt_form_back').click(function () {
//         $.overtFun.clickBackForm();
//     });
//     $('#bt_form_reset').click(function () {
//         $.overtFun.clickResetForm();
//     });
//     if($('#bt_form_edit').length>0){//如果有修改权限
//         //双击行后执行OpenEditAppDiv方法
//         DataGrid.onDblClickRow = function(rowIndex, rowData){
//             openEditDiv(rowData.iEnumId);
//         }
//     }
//     //点击增加按钮隐藏列表，显示增加页面
//     $('#bt_list_add').click(function(){
//         if($(this).checkButtonDisabled()) return false;
//         $('.xh-datagrid').parent().hide();
//         $('#bt_form_reset').click();
//         var id = list.getDataGridSelectedField('iEnumId');  //获取List中选中的iEnumId字段值
//         $.post(baseUrl + 'Sys/createEnumFormWithData', {id: id, type: 'add'}, function (form) {
//             $('.xh-area-form').html(form).parseForm($('#bt_form_add, #bt_form_edit'));
//             $('.xh-form').fadeIn();
//             $('#bt_form_add').show();
//             $('#bt_form_edit').hide();
//         });
//     });
//     //删除按钮
//     /*$('#bt_list_del').click(function () {
//         //判断是否为disable状态
//         if(!checkButtonDisabled('bt_list_del')){
//             //弹窗确认（标题，内容，需执行函数名）
//             CheckConfirm('Warning','确认删除？','del');
//         }
//         //设置按钮为disabled状态（按钮id_逗号分隔）
//         setButtonDisable('bt_list_del');
//     });*/
// });
// //删除
// /*function del(){
//     var ids=getDataGridSelectedFields('List','iEnumId');//获取List中选中的ID字段值
//     $.post('delData',{ids:ids},function(result){
//         alertMessage('结果',result);//弹窗提示
//         dataGridReload('List');//刷新
//     });
// }*/
// //打开修改窗体
// function openEditDiv(_id){
//     $('.xh-datagrid').parent().hide();
//     $.post(baseUrl + 'Sys/createEnumFormWithData', {id: _id, type: 'edit'},function(form){
//         $('.xh-area-form').html(form).parseForm($('#bt_form_add, #bt_form_edit'));
//         $('.xh-form').fadeIn();
//         $('#bt_form_add, #bt_form_reset').hide();
//         $('#bt_form_edit').setButtonEnable('bs').show();
//     });
// }
